﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Sonja verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
Public Class KOSonja
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "SONJA"
        Armee = Armeen.YC.ToString
        Musik = "Sonja"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 2
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 2
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 2
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 3
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()

        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Pech = -10
                Glueck = 5
                Verstecker = True
                DeckungsAenderung = 1
                Sichtbonus = 1
                RiffWaldSchauer = False
                GegenFeuerkraft = 1.1#
            Case CommanderWarsGameModi.AdvanceWars2
                Pech = -10
                Glueck = 0
                Verstecker = True
                DeckungsAenderung = 1
                Sichtbonus = 1
                RiffWaldSchauer = False
                GegenFeuerkraft = 1.5#
            Case CommanderWarsGameModi.AdvanceWarsDS
                Pech = -5
                Glueck = 0
                Verstecker = True
                DeckungsAenderung = -1
                Sichtbonus = 1
                RiffWaldSchauer = False
                GegenFeuerkraft = 0
            Case Else
                Pech = -5
                Glueck = 0
                Verstecker = True
                DeckungsAenderung = 1
                Sichtbonus = 1
                RiffWaldSchauer = False
                GegenFeuerkraft = 1
        End Select
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars2
                Sichtbonus = 2
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                DeckungsAenderung = -2
                Sichtbonus = 2
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GabeEingesetzt()
            Case Else
                DeckungsAenderung = -1
                Sichtbonus = 2
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GabeEingesetzt()
        End Select
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sichtbonus = 2
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GegenFeuerkraft = 1.2#
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWars2
                Sichtbonus = 2
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GegenFeuerkraft = 2
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                DeckungsAenderung = -3
                Sichtbonus = 2
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GegenFeuerkraft = 2
                GabeEingesetzt()
            Case Else
                DeckungsAenderung = -3
                Sichtbonus = 3
                RiffWaldSchauer = True
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                End If
                GabeEingesetzt()
        End Select
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungSonja
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Sonja"
        Fein = "Computer"
        Nein = "Bugs"
        Beschreibung = New String() {"Kanbeis clevere Tocher.", "Sie plant bevor sie handelt."}
        Stil = New String() {"Sie versteckt ihre TP vor den Feinden", "und kann 1 Feld weitersehen.", "Allerdings ist sie vom Pech verfolgt."}
        Gabebeschreibung = New String() {"Ihr Sichtfeld steigt um 1 und", "gegnerische Terrainvorteile schrumpfen."}
        SpezialgabeBeschreibung = New String() {"Ihr Sichtfeld steigt um 2 und", "gegnerische Terrainvorteile schrumpfen", "enorm."}
        GabeKosten = 3
        Spezialgabekosten = 2
        Gaben = New String() {"Weitsicht", "Klarsichtkonter"}
        Synergie = New Decimal() {3, 0.5#, 1, 1, 1, 0.5#, -1, -1.5#}
        KONamen = New String() {"KANBEI", "KAT", "TAMI", "CONRAD", "SABAKI", "SENSEI", "VON BOLT", "CARMEN"}
        Doppelgabenamen = New String() {"Fernoestliche Weisheit", "Geistesblitz", "Frauenpower", "Meisterplan", "Revolution", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Ich kenne alle eure Plaene!" _
                                    , "Ich zeige euch es braucht mehr als Staerke um zu siegen." _
                                    , "Zahl der Gegner... Position... Verstanden! Ha, es ist so einfach!" _
                                    , "Glaubt ihr, ihr koennt mich so ueberlisten?" _
                                    , "Du kannst dich nicht vor mir verstecken." _
                                    , "Genau wie ich es geplant habe."}
        Siegsaetze = New String() {"Meine Strategie war besser... Das ist alles." _
                                , "Ich muss meine Strategie ueberdenken." _
                                , "Perfekte Plannung siegt heutzutage."}
        Tauschsaetze = New String() {"Ich zeige euch wie man das macht." _
                                    , "Deckt mich."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("KANBEI", "SONJA", "Auf in den Kampf.", "Vater warte! Mist! Er hat sein Schwert vergessen.") _
                                              , New DoppelGabesatz("SONJA", "KANBEI", "Ich habe alles genau geplant ihr habt keine Chance!", "Pass auf dich auf Sonja.") _
                                              , New DoppelGabesatz("KAT", "SONJA", "Krieg ist ein Spiel mit hohem Einsatz.", "Nein! Krieg ist kein...wobei...") _
                                              , New DoppelGabesatz("SONJA", "KAT", "Dieser Zug wird euer Ende ich habe alles geplant.", "Schoenes Spiel darf ich auch mal?") _
                                              , New DoppelGabesatz("CONRAD", "SONJA", "Sehen wir alles?", "Ja. Der Gegner kann sich nicht verstecken.") _
                                              , New DoppelGabesatz("CONRAD", "SONJA", "Meine Berchnungen sagen...", "Meine Ergebnis ist dasselbe.") _
                                              , New DoppelGabesatz("SONJA", "SABAKI", "Wir bewahren den Frieden in Yellow Comet.", "Du hast es gut in Amber Corona haben wir keinen Frieden.") _
                                              , New DoppelGabesatz("SABAKI", "SONJA", "Lasst uns kaempfen fuer die Freiheit und gegen t es die Armut.", "Du hast hohe Ideale Sabaki!") _
                                              , New DoppelGabesatz("SONJA", "TAMI", "Wir zeigen euch waer die Welt regiert.", "Kein Boss und kein Actionheld. Nein Frauen regiern die Welt.") _
                                              , New DoppelGabesatz("TAMI", "SONJA", "Ignoriert uns nicht nur weil wir Frauen sind.", "Unser Team ist einmalig.")}
        Niederlagesaetze = New String() {"...Entschuldige Vater...Ich habe mein versprechen gebrochen...", _
                                     "Ich habe viel von dieser Schlacht gelernt..."}
    End Sub
End Class
